<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
   
   <meta name="description" content="string operations">
    
    <meta name="author" content="John S. Urban" >
    <link rel="icon" href="../favicon.png">

    <title>M_strings &ndash; M_strings</title>

    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/pygments.css" rel="stylesheet">
    <link href="../css/font-awesome.min.css" rel="stylesheet">
    <link href="../css/local.css" rel="stylesheet">
    
    <link  href="../tipuesearch/tipuesearch.css" rel="stylesheet">
    
    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    
    <script src="../js/jquery-2.1.3.min.js"></script>
    <script src="../js/svg-pan-zoom.min.js"></script>

  </head>

  <body>

    <!-- Fixed navbar -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="../index.html">M_strings </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
        
            <li class="dropdown hidden-xs visible-sm visible-md hidden-lg">
              <a href="#" class="dropdown-toggle"
              data-toggle="dropdown" role="button"
              aria-haspopup="true"
     aria-expanded="false">Contents <span class="caret"></span></a>
        <ul class="dropdown-menu">
          
              
            <li><a href="../lists/files.html">Source Files</a></li>
        
        
        
            <li><a href="../lists/modules.html">Modules</a></li>
        
            
                                
            <li><a href="../lists/procedures.html">Procedures</a></li>
        
               
            <li><a href="../lists/types.html">Derived Types</a></li>
        
        
            </ul>
            </li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li>



<li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li>



<li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li>

                             
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/types.html">Derived Types</a></li>


          </ul>
        
        <form action="../search.html" class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required>
        </div>
<!--
        <button type="submit" class="btn btn-default">Submit</button>
-->
        </form>
        
        </div><!--/.nav-collapse -->
      </div>
    </nav>

    <div class="container">
    
  
  <div class="row">
    <h1>M_strings 
    <small>Module</small>
    
    </h1>
    
<div class="row">
  <div class="col-lg-12">
<div class="well well-sm">
  <ul class="list-inline" style="margin-bottom:0px;display:inline">
     
     
     
     
    
    
     <li><i class="fa fa-list-ol"></i>
       <a data-toggle="tooltip"
    data-placement="bottom" data-html="true"
    title="91.2% of total for modules and submodules.">3521 statements</a>
     </li> 
     
     
     
    <li><i class="fa fa-code"></i><a href="../src/M_strings.f90"> Source File</a></li>
     
     
  </ul>
  <ol class="breadcrumb in-well text-right">
  
    
     <li><a href='../sourcefile/m_strings.f90.html'>M_strings.f90</a></li>
    
  
     <li class="active">M_strings</li>
  </ol>
</div>
</div>
</div>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
  })
</script>

  </div>
  
  <div class="row">
    <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg">
    
<div id="sidebar">
  
<h3>Contents</h3>
 



<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#vars-0">Variables</a></h3></div>
  <div id="vars-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_bel">ascii_bel</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_bs">ascii_bs</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_cr">ascii_cr</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_esc">ascii_esc</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_ff">ascii_ff</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_ht">ascii_ht</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_lf">ascii_lf</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_nul">ascii_nul</a>
      
    </div>
  </div>
</div>









<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#inters-0">Interfaces</a></h3></div>
  <div id="inters-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/m_strings.html#interface-dble">dble</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-ends_with">ends_with</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-int">int</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-matchw">matchw</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-msg">msg</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-real">real</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-split2020">split2020</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-string_to_value">string_to_value</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-switch">switch</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-v2s">v2s</a>
      
    </div>
  </div>
</div>





<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#funcs-0">Functions</a></h3></div>
  <div id="funcs-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/m_strings.html#proc-adjustc">adjustc</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-atleast">atleast</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-base">base</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-base2">base2</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-c2s">c2s</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-chomp">chomp</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-codebase">codebase</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-compact">compact</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-crop">crop</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-decodebase">decodebase</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-describe">describe</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-dilate">dilate</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-expand">expand</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-fmt">fmt</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-fortran_name">fortran_name</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-glob">glob</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-indent">indent</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isnumber">isNumber</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isalnum">isalnum</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isalpha">isalpha</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isascii">isascii</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isblank">isblank</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-iscntrl">iscntrl</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isdigit">isdigit</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isgraph">isgraph</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-islower">islower</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isprint">isprint</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-ispunct">ispunct</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isspace">isspace</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isupper">isupper</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isxdigit">isxdigit</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-join">join</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-len_white">len_white</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-lenset">lenset</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-lower">lower</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-merge_str">merge_str</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-noesc">noesc</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-nospace">nospace</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-quote">quote</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-replace">replace</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-reverse">reverse</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-rotate13">rotate13</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-s2c">s2c</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-s2v">s2v</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-s2vs">s2vs</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-sep">sep</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-setbits16">setbits16</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-setbits32">setbits32</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-setbits64">setbits64</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-setbits8">setbits8</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-stretch">stretch</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-string_tokens">string_tokens</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-strtok">strtok</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-transliterate">transliterate</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-unquote">unquote</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-upper">upper</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-upper_quoted">upper_quoted</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-v2s_bug">v2s_bug</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-visible">visible</a>
      
    </div>
  </div>
</div>



<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#subs-0">Subroutines</a></h3></div>
  <div class="list-group">
    <div id="subs-0" class="panel-collapse collapse">
      
      <a class="list-group-item" href="../module/m_strings.html#proc-change">change</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-delim">delim</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-getvals">getvals</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-listout">listout</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-modif">modif</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-notabs">notabs</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-split">split</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-string_to_values">string_to_values</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-substitute">substitute</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-value_to_string">value_to_string</a>
      
    </div>
  </div>
</div>










</div>

    </div>
    
    <div class="col-md-9" id='text'>
    <h2 id="name">NAME</h2>
<div class="codehilite"><pre><span></span><code>M_strings(3f) - [M_strings::INTRO::OOPS] Fortran string module
</code></pre></div>

<h2 id="description">DESCRIPTION</h2>
<div class="codehilite"><pre><span></span><code><span class="nv">The</span> <span class="nv">M_strings</span><span class="ss">(</span><span class="mi">3</span><span class="nv">fm</span><span class="ss">)</span> <span class="nv">module</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">collection</span> <span class="nv">of</span> <span class="nv">Fortran</span> <span class="nv">procedures</span>
<span class="nv">that</span> <span class="nv">supplement</span> <span class="nv">the</span> <span class="nv">built</span><span class="o">-</span><span class="nv">in</span> <span class="nv">intrinsic</span> <span class="nv">string</span> <span class="nv">routines</span>. <span class="nv">Routines</span>
<span class="k">for</span> <span class="nv">parsing</span>, <span class="nv">tokenizing</span>, <span class="nv">changing</span> <span class="nv">case</span>, <span class="nv">substituting</span> <span class="nv">new</span> <span class="nv">strings</span> <span class="k">for</span>
<span class="nv">substrings</span>, <span class="nv">locating</span> <span class="nv">strings</span> <span class="nv">with</span> <span class="nv">simple</span> <span class="nv">wildcard</span> <span class="nv">expressions</span>, <span class="nv">removing</span>
<span class="nv">tabs</span> <span class="nv">and</span> <span class="nv">line</span> <span class="nv">terminators</span> <span class="nv">and</span> <span class="nv">other</span> <span class="nv">string</span> <span class="nv">manipulations</span> <span class="nv">are</span> <span class="nv">included</span>.

<span class="nv">M_strings_oop</span><span class="ss">(</span><span class="mi">3</span><span class="nv">fm</span><span class="ss">)</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">companion</span> <span class="nv">module</span> <span class="nv">that</span> <span class="nv">provides</span> <span class="nv">an</span> <span class="nv">OOP</span> <span class="nv">interface</span>
<span class="nv">to</span> <span class="nv">the</span> <span class="nv">M_strings</span> <span class="nv">module</span>.
</code></pre></div>

<h2 id="synopsis">SYNOPSIS</h2>
<p>public entities:</p>
<div class="codehilite"><pre><span></span><code>  use M_strings, only : split,sep,delim,chomp,strtok
  use M_strings, only : substitute,change,modif,transliterate,reverse
  use M_strings, only : replace,join
  use M_strings, only : upper,lower,upper_quoted
  use M_strings, only : rotate13
  use M_strings, only : adjustc,compact,nospace,indent
  use M_strings, only : crop,unquote,quote
  use M_strings, only : len_white,atleast,stretch,lenset,merge_str
  use M_strings, only : switch,s2c,c2s
  use M_strings, only : noesc,notabs,dilate,expand,visible
  !x!use M_strings, only : uc
  use M_strings, only : string_to_value,string_to_values,s2v,s2vs
  use M_strings, only : value_to_string,v2s,msg
  use M_strings, only : listout,getvals
  use M_strings, only : glob, ends_with
  use M_strings, only : fmt
  use M_strings, only : base, decodebase, codebase, base2
  use M_strings, only : isalnum, isalpha, iscntrl, isdigit
  use M_strings, only : isgraph, islower, isprint, ispunct
  use M_strings, only : isspace, isupper, isascii, isblank, isxdigit
  use M_strings, only : isnumber
  use M_strings, only : fortran_name
  use M_strings, only : describe
</code></pre></div>

<p>TOKENS</p>
<div class="codehilite"><pre><span></span><code>   <span class="nv">split</span>  <span class="nv">subroutine</span> <span class="nv">parses</span> <span class="nv">string</span> <span class="nv">using</span> <span class="nv">specified</span> <span class="nv">delimiter</span> <span class="nv">characters</span>
          <span class="nv">and</span> <span class="nv">stores</span> <span class="nv">tokens</span> <span class="nv">into</span> <span class="nv">an</span> <span class="nv">array</span>
   <span class="nv">sep</span>    <span class="nv">function</span> <span class="nv">interface</span> <span class="nv">to</span> <span class="nv">split</span><span class="ss">(</span><span class="mi">3</span><span class="nv">f</span><span class="ss">)</span>
   <span class="nv">delim</span>  <span class="nv">subroutine</span> <span class="nv">parses</span> <span class="nv">string</span> <span class="nv">using</span> <span class="nv">specified</span> <span class="nv">delimiter</span> <span class="nv">characters</span>
          <span class="nv">and</span> <span class="nv">store</span> <span class="nv">tokens</span> <span class="nv">into</span> <span class="nv">an</span> <span class="nv">array</span>
   <span class="nv">chomp</span>  <span class="nv">function</span> <span class="nv">consumes</span> <span class="nv">input</span> <span class="nv">line</span> <span class="nv">as</span> <span class="nv">it</span> <span class="nv">returns</span> <span class="k">next</span> <span class="nv">token</span> <span class="nv">in</span> <span class="nv">a</span>
          <span class="nv">string</span> <span class="nv">using</span> <span class="nv">specified</span> <span class="nv">delimiters</span>
   <span class="nv">fmt</span>    <span class="nv">convert</span> <span class="nv">a</span> <span class="nv">string</span> <span class="nv">into</span> <span class="nv">a</span> <span class="nv">paragraph</span>
   <span class="nv">strtok</span> <span class="nv">tokenize</span> <span class="nv">a</span> <span class="nv">string</span> <span class="nv">like</span> <span class="nv">C</span> <span class="nv">strtok</span><span class="ss">(</span><span class="mi">3</span><span class="nv">c</span><span class="ss">)</span> <span class="nv">routine</span>
</code></pre></div>

<p>EDITING</p>
<div class="codehilite"><pre><span></span><code>   <span class="n">substitute</span>     <span class="n">subroutine</span> <span class="n">non</span><span class="o">-</span><span class="n">recursively</span> <span class="n">globally</span> <span class="n">replaces</span> <span class="n">old</span>
                  <span class="n">substring</span> <span class="n">with</span> <span class="n">new</span> <span class="n">substring</span>
   <span class="n">replace</span>        <span class="n">function</span> <span class="n">non</span><span class="o">-</span><span class="n">recursively</span> <span class="n">globally</span> <span class="n">replaces</span> <span class="n">old</span>
                  <span class="n">substring</span> <span class="n">with</span> <span class="n">new</span> <span class="n">substring</span> <span class="n">using</span> <span class="n">allocatable</span> <span class="n">string</span>
                  <span class="p">(</span><span class="n">version</span> <span class="n">of</span> <span class="n">substitute</span><span class="p">(</span><span class="mi">3</span><span class="n">f</span><span class="p">)</span> <span class="n">without</span> <span class="n">limitation</span> <span class="n">on</span>
                  <span class="n">length</span> <span class="n">of</span> <span class="n">output</span> <span class="n">string</span><span class="p">)</span>
   <span class="n">change</span>         <span class="n">subroutine</span> <span class="n">non</span><span class="o">-</span><span class="n">recursively</span> <span class="n">globally</span> <span class="n">replaces</span> <span class="n">old</span>
                  <span class="n">substring</span> <span class="n">with</span> <span class="n">new</span> <span class="n">substring</span> <span class="n">with</span> <span class="n">a</span> <span class="n">directive</span> <span class="n">like</span>
                  <span class="n">line</span> <span class="n">editor</span>
   <span class="n">modif</span>          <span class="n">subroutine</span> <span class="n">modifies</span> <span class="n">a</span> <span class="n">string</span> <span class="n">with</span> <span class="n">a</span> <span class="n">directive</span> <span class="n">like</span> <span class="n">the</span>
                  <span class="n">XEDIT</span> <span class="n">line</span> <span class="n">editor</span> <span class="n">MODIFY</span> <span class="n">command</span>
   <span class="n">transliterate</span>  <span class="n">replace</span> <span class="n">characters</span> <span class="n">found</span> <span class="ow">in</span> <span class="n">set</span> <span class="n">one</span> <span class="n">with</span> <span class="n">characters</span>
                  <span class="n">from</span> <span class="n">set</span> <span class="n">two</span>
   <span class="n">reverse</span>        <span class="n">reverse</span> <span class="n">character</span> <span class="n">order</span> <span class="ow">in</span> <span class="n">a</span> <span class="n">string</span>
   <span class="n">join</span>           <span class="n">join</span> <span class="n">an</span> <span class="n">array</span> <span class="n">of</span> <span class="n">CHARACTER</span> <span class="n">variables</span> <span class="n">with</span> <span class="n">specified</span>
                  <span class="n">separator</span>
   <span class="n">rotate13</span>       <span class="n">apply</span> <span class="n">trivial</span> <span class="n">encryption</span> <span class="n">algorithm</span> <span class="n">ROT13</span> <span class="n">to</span> <span class="n">a</span> <span class="n">string</span>
</code></pre></div>

<p>CASE</p>
<div class="codehilite"><pre><span></span><code>   upper          function converts string to uppercase
   lower          function converts string to miniscule
   upper_quoted   function converts string to uppercase skipping strings
                  quoted per Fortran rules
</code></pre></div>

<p>WHITE SPACE</p>
<div class="codehilite"><pre><span></span><code>   adjustc  elemental function centers text within the length of the
            input string
   compact  left justify string and replace duplicate whitespace with
            single characters or nothing
   nospace  function replaces whitespace with nothing
   indent   find number of leading spaces
   crop     function trims leading and trailing spaces
</code></pre></div>

<p>QUOTES</p>
<div class="codehilite"><pre><span></span><code>   <span class="nv">unquote</span>  <span class="nv">remove</span> <span class="nv">quotes</span> <span class="nv">from</span> <span class="nv">string</span> <span class="nv">as</span> <span class="k">if</span> <span class="nv">read</span> <span class="nv">with</span> <span class="nv">list</span><span class="o">-</span><span class="nv">directed</span> <span class="nv">input</span>
   <span class="nv">quote</span>    <span class="nv">add</span> <span class="nv">quotes</span> <span class="nv">to</span> <span class="nv">string</span> <span class="nv">as</span> <span class="k">if</span> <span class="nv">written</span> <span class="nv">with</span> <span class="nv">list</span><span class="o">-</span><span class="nv">directed</span> <span class="nv">input</span>
</code></pre></div>

<p>STRING LENGTH</p>
<div class="codehilite"><pre><span></span><code>   <span class="nv">len_white</span>  <span class="nv">find</span> <span class="nv">location</span> <span class="nv">of</span> <span class="nv">last</span> <span class="nv">non</span><span class="o">-</span><span class="nv">whitespace</span> <span class="nv">character</span>
   <span class="nv">lenset</span>     <span class="k">return</span> <span class="nv">a</span> <span class="nv">string</span> <span class="nv">of</span> <span class="nv">specified</span> <span class="nv">length</span>
   <span class="nv">atleast</span>    <span class="k">return</span> <span class="nv">a</span> <span class="nv">string</span> <span class="nv">of</span> <span class="nv">at</span> <span class="nv">least</span> <span class="nv">specified</span> <span class="nv">length</span>
   <span class="nv">stretch</span>    <span class="k">return</span> <span class="nv">a</span> <span class="nv">string</span> <span class="nv">of</span> <span class="nv">at</span> <span class="nv">least</span> <span class="nv">specified</span> <span class="nv">length</span> <span class="nv">with</span> <span class="nv">suffix</span>
   <span class="nv">merge_str</span>  <span class="nv">make</span> <span class="nv">strings</span> <span class="nv">of</span> <span class="nv">equal</span> <span class="nv">length</span> <span class="nv">and</span> <span class="k">then</span> <span class="k">call</span> <span class="nl">MERGE</span><span class="ss">(</span><span class="mi">3</span><span class="nv">f</span><span class="ss">)</span>
              <span class="nv">intrinsic</span>
</code></pre></div>

<p>CHARACTER ARRAY VERSUS STRING</p>
<div class="codehilite"><pre><span></span><code>   <span class="nv">switch</span>  <span class="nv">switch</span> <span class="nv">between</span> <span class="nv">a</span> <span class="nv">string</span> <span class="nv">and</span> <span class="nv">an</span> <span class="nv">array</span> <span class="nv">of</span> <span class="nv">single</span> <span class="nv">characters</span>
   <span class="nv">s2c</span>     <span class="nv">convert</span> <span class="nv">string</span> <span class="nv">to</span> <span class="nv">array</span> <span class="nv">of</span> <span class="nv">single</span> <span class="nv">characters</span> <span class="nv">and</span> <span class="nv">add</span> <span class="nv">null</span>
           <span class="nv">terminator</span> <span class="k">for</span> <span class="nv">passing</span> <span class="nv">to</span> <span class="nv">C</span>
   <span class="nv">c2s</span>     <span class="nv">convert</span> <span class="nv">null</span><span class="o">-</span><span class="nv">terminated</span> <span class="nv">array</span> <span class="nv">of</span> <span class="nv">single</span> <span class="nv">characters</span> <span class="nv">to</span>
           <span class="nv">string</span> <span class="k">for</span> <span class="nv">converting</span> <span class="nv">strings</span> <span class="nv">returned</span> <span class="nv">from</span> <span class="nv">C</span>
</code></pre></div>

<p>NONALPHA</p>
<div class="codehilite"><pre><span></span><code>   <span class="nv">noesc</span>    <span class="nv">convert</span> <span class="nv">non</span><span class="o">-</span><span class="nv">printable</span> <span class="nv">ASCII8</span> <span class="nv">characters</span> <span class="nv">to</span> <span class="nv">a</span> <span class="nv">space</span>
   <span class="nv">notabs</span>   <span class="nv">convert</span> <span class="nv">tabs</span> <span class="nv">to</span> <span class="nv">spaces</span> <span class="k">while</span> <span class="nv">maintaining</span> <span class="nv">columns</span>,
            <span class="nv">assuming</span> <span class="nv">tabs</span> <span class="nv">are</span> <span class="nv">set</span> <span class="nv">every</span> <span class="mi">8</span> <span class="nv">characters</span>
   <span class="nv">dilate</span>   <span class="nv">function</span> <span class="nv">to</span> <span class="nv">convert</span> <span class="nv">tabs</span> <span class="nv">to</span> <span class="nv">spaces</span> <span class="nv">assuming</span> <span class="nv">tabs</span> <span class="nv">are</span> <span class="nv">set</span>
            <span class="nv">every</span> <span class="mi">8</span> <span class="nv">characters</span>
   <span class="nv">expand</span>   <span class="nv">expand</span> <span class="nv">escape</span> <span class="nv">sequences</span> <span class="nv">in</span> <span class="nv">a</span> <span class="nv">string</span>
   <span class="nv">visible</span>  <span class="nv">expand</span> <span class="nv">escape</span> <span class="nv">sequences</span> <span class="nv">in</span> <span class="nv">a</span> <span class="nv">string</span> <span class="nv">to</span> <span class="s2">&quot;</span><span class="s">control</span><span class="s2">&quot;</span> <span class="nv">and</span>
            <span class="nv">meta</span><span class="o">-</span><span class="nv">control</span> <span class="nv">representations</span>
</code></pre></div>

<p>NUMERIC STRINGS</p>
<div class="codehilite"><pre><span></span><code>   <span class="nv">string_to_value</span>   <span class="nv">generic</span> <span class="nv">subroutine</span> <span class="nv">returns</span> <span class="nv">numeric</span> <span class="nv">value</span> <span class="ss">(</span><span class="nv">REAL</span>,
                     <span class="nv">DOUBLEPRECISION</span>, <span class="nv">INTEGER</span><span class="ss">)</span> <span class="nv">from</span> <span class="nv">string</span>
   <span class="nv">string_to_values</span>  <span class="nv">subroutine</span> <span class="nv">reads</span> <span class="nv">an</span> <span class="nv">array</span> <span class="nv">of</span> <span class="nv">numbers</span> <span class="nv">from</span> <span class="nv">a</span> <span class="nv">string</span>
   <span class="nv">getvals</span>           <span class="nv">subroutine</span> <span class="nv">reads</span> <span class="nv">a</span> <span class="nv">relatively</span> <span class="nv">arbitrary</span> <span class="nv">number</span>
                     <span class="nv">of</span> <span class="nv">values</span> <span class="nv">from</span> <span class="nv">a</span> <span class="nv">string</span> <span class="nv">using</span> <span class="nv">list</span><span class="o">-</span><span class="nv">directed</span> <span class="nv">read</span>
   <span class="nv">s2v</span>               <span class="nv">function</span> <span class="nv">returns</span> <span class="nv">DOUBLEPRECISION</span> <span class="nv">numeric</span> <span class="nv">value</span>
                     <span class="nv">from</span> <span class="nv">string</span>
   <span class="nv">s2vs</span>              <span class="nv">function</span> <span class="nv">returns</span> <span class="nv">a</span> <span class="nv">DOUBLEPRECISION</span> <span class="nv">array</span> <span class="nv">of</span> <span class="nv">numbers</span>
                     <span class="nv">from</span> <span class="nv">a</span> <span class="nv">string</span>
   <span class="nv">msg</span>               <span class="nv">append</span> <span class="nv">the</span> <span class="nv">values</span> <span class="nv">of</span> <span class="nv">up</span> <span class="nv">to</span> <span class="nv">nine</span> <span class="nv">values</span> <span class="nv">into</span> <span class="nv">a</span> <span class="nv">string</span>

   <span class="nv">value_to_string</span>   <span class="nv">generic</span> <span class="nv">subroutine</span> <span class="nv">returns</span> <span class="nv">string</span> <span class="nv">given</span> <span class="nv">numeric</span> <span class="nv">value</span>
                     <span class="ss">(</span><span class="nv">REAL</span>, <span class="nv">DOUBLEPRECISION</span>, <span class="nv">INTEGER</span>, <span class="nv">LOGICAL</span> <span class="ss">)</span>
   <span class="nv">v2s</span>               <span class="nv">generic</span> <span class="nv">function</span> <span class="nv">returns</span> <span class="nv">string</span> <span class="nv">from</span> <span class="nv">numeric</span> <span class="nv">value</span>
                     <span class="ss">(</span><span class="nv">REAL</span>, <span class="nv">DOUBLEPRECISION</span>, <span class="nv">INTEGER</span> <span class="ss">)</span>
   <span class="nv">listout</span>           <span class="nv">expand</span> <span class="nv">a</span> <span class="nv">list</span> <span class="nv">of</span> <span class="nv">numbers</span> <span class="nv">where</span> <span class="nv">negative</span> <span class="nv">numbers</span>
                     <span class="nv">denote</span> <span class="nv">range</span> <span class="nv">ends</span> <span class="ss">(</span><span class="mi">1</span> <span class="o">-</span><span class="mi">10</span> <span class="nv">means</span> <span class="mi">1</span> <span class="nv">thru</span> <span class="mi">10</span><span class="ss">)</span>
   <span class="nv">isnumber</span>          <span class="nv">determine</span> <span class="k">if</span> <span class="nv">string</span> <span class="nv">represents</span> <span class="nv">a</span> <span class="nv">number</span>
</code></pre></div>

<p>CHARACTER TESTS</p>
<div class="codehilite"><pre><span></span><code>   <span class="nv">glob</span>        <span class="nv">compares</span> <span class="nv">given</span> <span class="nv">string</span> <span class="k">for</span> <span class="nv">match</span> <span class="nv">to</span> <span class="nv">pattern</span> <span class="nv">which</span> <span class="nv">may</span>
               <span class="nv">contain</span> <span class="nv">wildcard</span> <span class="nv">characters</span>
   <span class="nv">ends_with</span>   <span class="nv">test</span> <span class="nv">whether</span> <span class="nv">strings</span> <span class="nv">ends</span> <span class="nv">with</span> <span class="nv">one</span> <span class="nv">of</span> <span class="nv">the</span> <span class="nv">specified</span> <span class="nv">suffixs</span>

   <span class="nv">o</span> <span class="nv">isalnum</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">letter</span> <span class="nv">or</span> <span class="nv">digit</span>
   <span class="nv">o</span> <span class="nv">isalpha</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">letter</span> <span class="nv">and</span>
               .<span class="nv">false</span>. <span class="nv">otherwise</span>
   <span class="nv">o</span> <span class="nv">iscntrl</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">delete</span> <span class="nv">character</span> <span class="nv">or</span>
               <span class="nv">ordinary</span> <span class="nv">control</span> <span class="nv">character</span>
   <span class="nv">o</span> <span class="nv">isdigit</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">digit</span> <span class="ss">(</span><span class="mi">0</span>,<span class="mi">1</span>,...,<span class="mi">9</span><span class="ss">)</span>
               <span class="nv">and</span> .<span class="nv">false</span>. <span class="nv">otherwise</span>
   <span class="nv">o</span> <span class="nv">isgraph</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">printable</span> <span class="nv">character</span>
               <span class="nv">except</span> <span class="nv">a</span> <span class="nv">space</span> <span class="nv">is</span> <span class="nv">considered</span> <span class="nv">non</span><span class="o">-</span><span class="nv">printable</span>
   <span class="nv">o</span> <span class="nv">islower</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">miniscule</span> <span class="nv">letter</span> <span class="ss">(</span><span class="nv">a</span><span class="o">-</span><span class="nv">z</span><span class="ss">)</span>
   <span class="nv">o</span> <span class="nv">isprint</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">an</span> <span class="nv">ASCII</span> <span class="nv">printable</span>
               <span class="nv">character</span>
   <span class="nv">o</span> <span class="nv">ispunct</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">printable</span> <span class="nv">punctuation</span>
               <span class="nv">character</span>
   <span class="nv">o</span> <span class="nv">isspace</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">null</span>, <span class="nv">space</span>, <span class="nv">tab</span>,
               <span class="nv">carriage</span> <span class="k">return</span>, <span class="nv">new</span> <span class="nv">line</span>, <span class="nv">vertical</span> <span class="nv">tab</span>, <span class="nv">or</span> <span class="nv">formfeed</span>
   <span class="nv">o</span> <span class="nv">isupper</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">an</span> <span class="nv">uppercase</span> <span class="nv">letter</span> <span class="ss">(</span><span class="nv">A</span><span class="o">-</span><span class="nv">Z</span><span class="ss">)</span>
   <span class="nv">o</span> <span class="nv">isascii</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">the</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">in</span> <span class="nv">the</span> <span class="nv">range</span> <span class="nv">char</span><span class="ss">(</span><span class="mi">0</span><span class="ss">)</span>
               <span class="nv">to</span> <span class="nv">char</span><span class="ss">(</span><span class="mi">127</span><span class="ss">)</span>
   <span class="nv">o</span> <span class="nv">isblank</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">blank</span> <span class="nv">character</span>
               <span class="ss">(</span><span class="nv">space</span> <span class="nv">or</span> <span class="nv">horizontal</span> <span class="nv">tab</span>.
   <span class="nv">o</span> <span class="nv">isxdigit</span>  <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">character</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">hexadecimal</span> <span class="nv">digit</span>
               <span class="ss">(</span><span class="mi">0</span><span class="o">-</span><span class="mi">9</span>, <span class="nv">a</span><span class="o">-</span><span class="nv">f</span>, <span class="nv">or</span> <span class="nv">A</span><span class="o">-</span><span class="nv">F</span><span class="ss">)</span>.

   <span class="nv">fortran_name</span>   <span class="nv">returns</span> .<span class="nv">true</span>. <span class="k">if</span> <span class="nv">input</span> <span class="nv">string</span> <span class="nv">is</span> <span class="nv">a</span> <span class="nv">valid</span> <span class="nv">Fortran</span> <span class="nv">name</span>
</code></pre></div>

<p>BASE CONVERSION</p>
<div class="codehilite"><pre><span></span><code>   base       convert whole number string in base [2-36] to string
              in alternate base [2-36]
   base2      convert INTEGER to a string representing a binary value
   codebase   convert whole number string in base [2-36] to base
              10 number
   decodebase convert whole number in base 10 to string in base [2-36]
</code></pre></div>

<p>MISCELLANEOUS</p>
<div class="codehilite"><pre><span></span><code>   describe   returns a string describing the name of a single character
</code></pre></div>

<p>INTRINSICS</p>
<div class="codehilite"><pre><span></span><code><span class="n">The</span> <span class="n">M_strings</span><span class="p">(</span><span class="mf">3f</span><span class="n">m</span><span class="p">)</span> <span class="k">module</span> <span class="n">supplements</span> <span class="k">and</span> <span class="n">works</span> <span class="n">in</span> <span class="n">combination</span> <span class="n">with</span>
<span class="n">the</span> <span class="n">Fortran</span> <span class="n">built</span><span class="o">-</span><span class="n">in</span> <span class="n">intrinsics</span><span class="p">.</span> <span class="n">Stand</span><span class="o">-</span><span class="n">alone</span> <span class="n">Fortran</span> <span class="n">lets</span> <span class="n">you</span> <span class="n">access</span>
<span class="n">the</span> <span class="n">characters</span> <span class="n">in</span> <span class="n">a</span> <span class="k">string</span> <span class="n">using</span> <span class="n">ranges</span> <span class="n">much</span> <span class="n">like</span> <span class="n">they</span> <span class="n">are</span> <span class="n">character</span>
<span class="n">arrays</span><span class="p">,</span> <span class="n">assignment</span><span class="p">,</span> <span class="n">comparisons</span> <span class="n">with</span> <span class="n">standard</span> <span class="n">operators</span><span class="p">,</span> <span class="n">supports</span>
<span class="n">dynamically</span> <span class="n">allocatable</span> <span class="n">strings</span> <span class="k">and</span> <span class="n">supports</span> <span class="n">concatenation</span> <span class="n">using</span> <span class="n">the</span> <span class="c1">//</span>
<span class="n">operator</span><span class="p">,</span> <span class="n">as</span> <span class="n">well</span> <span class="n">as</span> <span class="n">a</span> <span class="n">number</span> <span class="n">of</span> <span class="n">intrinsic</span> <span class="k">string</span> <span class="nl">routines:</span>

    <span class="n">adjustl</span>             <span class="n">Left</span> <span class="n">adjust</span> <span class="n">a</span> <span class="k">string</span>
    <span class="n">adjustr</span>             <span class="n">Right</span> <span class="n">adjust</span> <span class="n">a</span> <span class="k">string</span>
    <span class="n">index</span>               <span class="n">Position</span> <span class="n">of</span> <span class="n">a</span> <span class="n">substring</span> <span class="n">within</span> <span class="n">a</span> <span class="k">string</span>
    <span class="k">repeat</span>              <span class="n">Repeated</span> <span class="k">string</span> <span class="n">concatenation</span>
    <span class="n">scan</span>                <span class="n">Scan</span> <span class="n">a</span> <span class="k">string</span> <span class="k">for</span> <span class="n">the</span> <span class="n">presence</span> <span class="n">of</span> <span class="n">a</span> <span class="n">set</span>
                        <span class="n">of</span> <span class="n">characters</span>
    <span class="n">trim</span>                <span class="n">Remove</span> <span class="n">trailing</span> <span class="n">blank</span> <span class="n">characters</span> <span class="n">of</span> <span class="n">a</span> <span class="k">string</span>
    <span class="n">verify</span>              <span class="n">Scan</span> <span class="n">a</span> <span class="k">string</span> <span class="k">for</span> <span class="n">the</span> <span class="n">absence</span> <span class="n">of</span> <span class="n">a</span> <span class="n">set</span> <span class="n">of</span>
                        <span class="n">characters</span>
    <span class="n">len</span>                 <span class="n">It</span> <span class="n">returns</span> <span class="n">the</span> <span class="n">length</span> <span class="n">of</span> <span class="n">a</span> <span class="n">character</span> <span class="k">string</span>
    <span class="n">achar</span>               <span class="n">converts</span> <span class="n">an</span> <span class="k">integer</span> <span class="n">into</span> <span class="n">a</span> <span class="n">character</span>
    <span class="n">iachar</span>              <span class="n">converts</span> <span class="n">a</span> <span class="n">character</span> <span class="n">into</span> <span class="n">an</span> <span class="k">integer</span>
    <span class="n">len_trim</span>            <span class="n">finds</span> <span class="n">length</span> <span class="n">of</span> <span class="k">string</span> <span class="n">with</span> <span class="n">trailing</span> <span class="n">spaces</span>
                        <span class="n">ignored</span>
    <span class="n">new_line</span>            <span class="n">Newline</span> <span class="n">character</span>
    <span class="n">selected_char_kind</span>  <span class="n">Choose</span> <span class="n">character</span> <span class="n">kind</span>
    <span class="n">lge</span>                 <span class="n">Lexical</span> <span class="n">greater</span> <span class="n">than</span> <span class="k">or</span> <span class="n">equal</span>
    <span class="n">lgt</span>                 <span class="n">Lexical</span> <span class="n">greater</span> <span class="n">than</span>
    <span class="n">lle</span>                 <span class="n">Lexical</span> <span class="n">less</span> <span class="n">than</span> <span class="k">or</span> <span class="n">equal</span>
    <span class="n">llt</span>                 <span class="n">Lexical</span> <span class="n">less</span> <span class="n">than</span>
</code></pre></div>

<p>OOPS INTERFACE
    The M_strings_oop(3fm) module (included with the M_strings(3fm)
    module) provides an OOP (Object-Oriented Programming) interface to
    the M_strings(3fm) module.</p>
<h2 id="see-also">SEE ALSO</h2>
<div class="codehilite"><pre><span></span><code><span class="n">There</span> <span class="n">are</span> <span class="n">additional</span> <span class="n">routines</span> <span class="n">in</span> <span class="n">other</span> <span class="n">GPF</span> <span class="n">modules</span> <span class="k">for</span> <span class="n">working</span> <span class="n">with</span>
<span class="n">expressions</span> <span class="p">(</span><span class="n">M_calculator</span><span class="p">),</span> <span class="kt">time</span> <span class="n">strings</span> <span class="p">(</span><span class="n">M_time</span><span class="p">),</span> <span class="n">random</span> <span class="n">strings</span>
<span class="p">(</span><span class="n">M_random</span><span class="p">,</span> <span class="n">M_uuid</span><span class="p">),</span> <span class="n">lists</span> <span class="p">(</span><span class="n">M_list</span><span class="p">),</span> <span class="k">and</span> <span class="n">interfacing</span> <span class="n">with</span> <span class="n">the</span> <span class="n">C</span> <span class="n">regular</span>
<span class="n">expression</span> <span class="n">library</span> <span class="p">(</span><span class="n">M_regex</span><span class="p">).</span>
</code></pre></div>

<h2 id="examples">EXAMPLES</h2>
<div class="codehilite"><pre><span></span><code><span class="nv">Each</span> <span class="nv">of</span> <span class="nv">the</span> <span class="nv">procedural</span> <span class="nv">functions</span> <span class="nv">includes</span> <span class="nv">an</span> <span class="nv">example</span> <span class="nv">program</span> <span class="nv">in</span> <span class="nv">the</span>
<span class="nv">corresponding</span> <span class="nv">man</span><span class="ss">(</span><span class="mi">1</span><span class="ss">)</span> <span class="nv">page</span> <span class="k">for</span> <span class="nv">the</span> <span class="nv">function</span>. <span class="nv">The</span> <span class="nv">object</span><span class="o">-</span><span class="nv">oriented</span>
<span class="nv">interface</span> <span class="nv">does</span> <span class="nv">not</span> <span class="nv">have</span> <span class="nv">individual</span> <span class="nv">man</span><span class="ss">(</span><span class="mi">1</span><span class="ss">)</span> <span class="nv">pages</span>, <span class="nv">but</span> <span class="nv">is</span> <span class="nv">instead</span>
<span class="nv">demonstrated</span> <span class="nv">using</span> <span class="nv">the</span> <span class="nv">following</span> <span class="nv">example</span> <span class="nv">program</span>:


 <span class="nv">program</span> <span class="nv">demo_M_strings</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">split</span>, <span class="nv">delim</span>, <span class="nv">chomp</span>, <span class="nv">sep</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">substitute</span>, <span class="nv">change</span>, <span class="nv">modif</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">transliterate</span>, <span class="nv">reverse</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">replace</span>, <span class="nv">join</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">upper</span>, <span class="nv">lower</span>, <span class="nv">upper_quoted</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">rotate13</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">adjustc</span>, <span class="nv">compact</span>, <span class="nv">nospace</span>, <span class="nv">indent</span>, <span class="nv">crop</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">unquote</span>, <span class="nv">quote</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">len_white</span>, <span class="nv">atleast</span>, <span class="nv">stretch</span>, <span class="nv">lenset</span>, <span class="nv">merge_str</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">switch</span>, <span class="nv">s2c</span>, <span class="nv">c2s</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">noesc</span>, <span class="nv">notabs</span>, <span class="nv">dilate</span>, <span class="nv">expand</span>, <span class="nv">visible</span>
 <span class="o">!</span><span class="nv">x</span><span class="o">!</span><span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">uc</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">string_to_value</span>, <span class="nv">string_to_values</span>, <span class="nv">s2v</span>, <span class="nv">s2vs</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">value_to_string</span>, <span class="nv">v2s</span>, <span class="nv">msg</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">listout</span>, <span class="nv">getvals</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">glob</span>, <span class="nv">ends_with</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">fmt</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">base</span>, <span class="nv">decodebase</span>, <span class="nv">codebase</span>, <span class="nv">base2</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">isalnum</span>, <span class="nv">isalpha</span>, <span class="nv">iscntrl</span>, <span class="nv">isdigit</span>, <span class="nv">isgraph</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">islower</span>, <span class="nv">isprint</span>, <span class="nv">ispunct</span>, <span class="nv">isspace</span>, <span class="nv">isupper</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">isascii</span>, <span class="nv">isblank</span>, <span class="nv">isxdigit</span>
 <span class="nv">use</span> <span class="nv">M_strings</span>, <span class="nv">only</span> : <span class="nv">fortran_name</span>
 <span class="k">end</span> <span class="nv">program</span> <span class="nv">demo_M_strings</span>
</code></pre></div>

<p>Expected output</p>
<h2 id="author">AUTHOR</h2>
<div class="codehilite"><pre><span></span><code>John S. Urban
</code></pre></div>

<h2 id="license">LICENSE</h2>
<div class="codehilite"><pre><span></span><code>Public Domain
</code></pre></div>
      <br>
    
  
    <div class="panel panel-default">
      <div class="panel-heading">
  <h3 class="panel-title">Uses</h3>
      </div>
      <ul class="list-group">
      
      <li class="list-group-item">
  <ul class="list-inline">
    
    <li><a href="https://gcc.gnu.org/onlinedocs/gfortran/ISO_005fFORTRAN_005fENV.html">iso_fortran_env</a></li>
    
    <li><a href="https://gcc.gnu.org/onlinedocs/gfortran/ISO_005fFORTRAN_005fENV.html">iso_fortran_env</a></li>
    
  </ul>
      </li>
      
      
      
      </ul>
    </div>
    

    
    

    <br>

    <section class="visible-xs visible-sm hidden-md">
      
<h3>Contents</h3>
 



<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#vars-1">Variables</a></h3></div>
  <div id="vars-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_bel">ascii_bel</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_bs">ascii_bs</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_cr">ascii_cr</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_esc">ascii_esc</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_ff">ascii_ff</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_ht">ascii_ht</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_lf">ascii_lf</a>
      
      <a class="list-group-item" href="../module/m_strings.html#variable-ascii_nul">ascii_nul</a>
      
    </div>
  </div>
</div>









<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#inters-1">Interfaces</a></h3></div>
  <div id="inters-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/m_strings.html#interface-dble">dble</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-ends_with">ends_with</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-int">int</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-matchw">matchw</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-msg">msg</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-real">real</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-split2020">split2020</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-string_to_value">string_to_value</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-switch">switch</a>
      
      <a class="list-group-item" href="../module/m_strings.html#interface-v2s">v2s</a>
      
    </div>
  </div>
</div>





<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#funcs-1">Functions</a></h3></div>
  <div id="funcs-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/m_strings.html#proc-adjustc">adjustc</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-atleast">atleast</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-base">base</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-base2">base2</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-c2s">c2s</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-chomp">chomp</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-codebase">codebase</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-compact">compact</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-crop">crop</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-decodebase">decodebase</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-describe">describe</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-dilate">dilate</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-expand">expand</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-fmt">fmt</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-fortran_name">fortran_name</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-glob">glob</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-indent">indent</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isnumber">isNumber</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isalnum">isalnum</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isalpha">isalpha</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isascii">isascii</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isblank">isblank</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-iscntrl">iscntrl</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isdigit">isdigit</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isgraph">isgraph</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-islower">islower</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isprint">isprint</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-ispunct">ispunct</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isspace">isspace</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isupper">isupper</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-isxdigit">isxdigit</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-join">join</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-len_white">len_white</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-lenset">lenset</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-lower">lower</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-merge_str">merge_str</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-noesc">noesc</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-nospace">nospace</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-quote">quote</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-replace">replace</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-reverse">reverse</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-rotate13">rotate13</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-s2c">s2c</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-s2v">s2v</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-s2vs">s2vs</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-sep">sep</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-setbits16">setbits16</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-setbits32">setbits32</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-setbits64">setbits64</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-setbits8">setbits8</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-stretch">stretch</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-string_tokens">string_tokens</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-strtok">strtok</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-transliterate">transliterate</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-unquote">unquote</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-upper">upper</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-upper_quoted">upper_quoted</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-v2s_bug">v2s_bug</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-visible">visible</a>
      
    </div>
  </div>
</div>



<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#subs-1">Subroutines</a></h3></div>
  <div class="list-group">
    <div id="subs-1" class="panel-collapse collapse">
      
      <a class="list-group-item" href="../module/m_strings.html#proc-change">change</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-delim">delim</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-getvals">getvals</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-listout">listout</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-modif">modif</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-notabs">notabs</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-split">split</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-string_to_values">string_to_values</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-substitute">substitute</a>
      
      <a class="list-group-item" href="../module/m_strings.html#proc-value_to_string">value_to_string</a>
      
    </div>
  </div>
</div>










    </section>
    <br class="visible-xs visible-sm hidden-md">

    

    
    <section>
    <h2>Variables</h2>
    
<table class="table table-striped varlist">
<thead><tr><th>Type</th><th>Visibility</th>

<th>Attributes</th><th></th><th>Name</th><th></th><th>Initial</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-ascii_bel"></span>character,</td>
  
  <td>public,</td>
  <td>parameter</td><td>::</td>
  <td><strong>ascii_bel</strong></td><td> =</td><td>char(7)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-ascii_bs"></span>character,</td>
  
  <td>public,</td>
  <td>parameter</td><td>::</td>
  <td><strong>ascii_bs</strong></td><td> =</td><td>char(8)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-ascii_cr"></span>character,</td>
  
  <td>public,</td>
  <td>parameter</td><td>::</td>
  <td><strong>ascii_cr</strong></td><td> =</td><td>char(13)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-ascii_esc"></span>character,</td>
  
  <td>public,</td>
  <td>parameter</td><td>::</td>
  <td><strong>ascii_esc</strong></td><td> =</td><td>char(27)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-ascii_ff"></span>character,</td>
  
  <td>public,</td>
  <td>parameter</td><td>::</td>
  <td><strong>ascii_ff</strong></td><td> =</td><td>char(12)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-ascii_ht"></span>character,</td>
  
  <td>public,</td>
  <td>parameter</td><td>::</td>
  <td><strong>ascii_ht</strong></td><td> =</td><td>char(9)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-ascii_lf"></span>character,</td>
  
  <td>public,</td>
  <td>parameter</td><td>::</td>
  <td><strong>ascii_lf</strong></td><td> =</td><td>char(10)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-ascii_nul"></span>character,</td>
  
  <td>public,</td>
  <td>parameter</td><td>::</td>
  <td><strong>ascii_nul</strong></td><td> =</td><td>char(0)</td><td></td>
  
</tr>

</tbody>
</table>

    </section>
    <br>
    
    
    
    
    
    <section>
   <h2>Interfaces</h2>
   
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-dble"></span><h3>public interface <a href='../interface/dble.html'>dble</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private function dble_s2v(chars)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>chars</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>doubleprecision
  </small></h4>
  
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-ends_with"></span><h3>public interface <a href='../interface/ends_with.html'>ends_with</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private pure function ends_with_str(string, ending) result(matched)
    
    
   
</h3>
    



<p>Sample program:</p><a href="../proc/ends_with_str.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ending</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private pure function ends_with_any(string, endings) result(matched)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>endings</strong>(:)</td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-int"></span><h3>public interface <a href='../interface/int.html'>int</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private function int_s2v(chars)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>chars</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer
  </small></h4>
  
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-matchw"></span><h3>public interface <a href='../interface/matchw.html'>matchw</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
public function <a href='../proc/glob.html'>glob</a>(tame, wild)
    
    
   
</h3>
    







<p>Example program</p><a href="../proc/glob.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*)</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>tame</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*)</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>wild</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-msg"></span><h3>public interface <a href='../interface/msg.html'>msg</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private function msg_scalar(generic1, generic2, generic3, generic4, generic5, generic6, generic7, generic8, generic9, sep)
    
    
   
</h3>
    



<p>Sample program:</p><a href="../proc/msg_scalar.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic1</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic2</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic3</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic4</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic5</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic6</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic7</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic8</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic9</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>sep</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private function msg_one(generic1, generic2, generic3, generic4, generic5, generic6, generic7, generic8, generic9, sep)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>generic1</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic2</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic3</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic4</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic5</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic6</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic7</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic8</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>generic9</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>sep</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-real"></span><h3>public interface <a href='../interface/real.html'>real</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private function real_s2v(chars)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>chars</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>real
  </small></h4>
  
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-split2020"></span><h3>public interface <a href='../interface/split2020.html'>split2020</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private pure subroutine split_tokens(string, set, tokens, separator)
    
    
   
</h3>
    



<p>TOKEN form</p><a href="../proc/split_tokens.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>set</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=:),</td>
  <td>intent(out),</td>
  <td></td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>tokens</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(out),</td>
  <td>optional</td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>separator</strong>(:)</td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private pure subroutine split_first_last(string, set, first, last)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>set</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out),</td>
  <td></td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>first</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out),</td>
  <td></td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>last</strong>(:)</td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private pure subroutine split_pos(string, set, pos, back)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>set</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(inout)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>pos</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>logical,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>back</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-string_to_value"></span><h3>public interface <a href='../interface/string_to_value.html'>string_to_value</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private subroutine a2d(chars, valu, ierr, onerr)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>chars</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>doubleprecision,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>valu</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>onerr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private subroutine a2r(chars, valu, ierr)
    
    
   
</h3>
    



<p>Sample Program:</p><a href="../proc/a2r.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>chars</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>real,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>valu</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private subroutine a2i(chars, valu, ierr)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>chars</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>valu</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-switch"></span><h3>public interface <a href='../interface/switch.html'>switch</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private pure function a2s(array) result(string)
    
    
   
</h3>
    



<p>Sample program:</p><a href="../proc/a2s.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=1),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>array</strong>(:)</td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=SIZE(array))
  </small></h4>
  
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private pure function s2a(string) result(array)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=1)
  (len(string))</small></h4>
  
    

    </li>
  
  
  </ul>
</div>

    
     
<div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="interface-v2s"></span><h3>public interface <a href='../interface/v2s.html'>v2s</a>
    
  </h3></div>
  
  <ul class="list-group">
  
  
  
    <li class="list-group-item">
    
    
    <h3>
private function d2s(dvalue, fmt) result(outstr)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>doubleprecision,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>dvalue</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>fmt</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private function r2s(rvalue, fmt) result(outstr)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>real,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>rvalue</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>fmt</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private function i2s(ivalue, fmt) result(outstr)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ivalue</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>fmt</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

    </li>
  
    <li class="list-group-item">
    
    
    <h3>
private function l2s(lvalue, fmt) result(outstr)
    
    
   
</h3>
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>logical,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>lvalue</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>fmt</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

    </li>
  
  
  </ul>
</div>

    
    </section>
  <br>
    

    
    
    
    
     
    <section>
    <h2>Functions</h2>
    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-adjustc"></span><h3>
public pure function <a href='../proc/adjustc.html'>adjustc</a>(string, length)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>pure function adjustc(string[,length])</p><a href="../proc/adjustc.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td><p>PROCEDURE   adjustc(3f)
 DESCRIPTION center text using implicit or explicit length</p><a href="None" class="pull-right"><emph>Read more&hellip;</emph></a></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>length</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-atleast"></span><h3>
public function <a href='../proc/atleast.html'>atleast</a>(line, length, pattern) result(strout)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>atleast(3f) - [M_strings:LENGTH] return string padded to at least
   specified length
   (LICENSE:PD)</p><a href="../proc/atleast.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>length</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>pattern</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=max(length,len(trim(line))))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-base"></span><h3>
public function <a href='../proc/base.html'>base</a>(x, b, y, a)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>logical function base(x,b,y,a)</p><a href="../proc/base.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>x</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>b</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>y</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>a</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-base2"></span><h3>
public function <a href='../proc/base2.html'>base2</a>(x) result(str)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>logical function base2(int)</p><a href="../proc/base2.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>x</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=max(1,bit_size(x)-leadz(x)))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-c2s"></span><h3>
public function <a href='../proc/c2s.html'>c2s</a>(c_string_pointer) result(f_string)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<a href="../proc/c2s.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>type(c_ptr),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>c_string_pointer</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-chomp"></span><h3>
public function <a href='../proc/chomp.html'>chomp</a>(source_string, token, delimiters)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/chomp.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*)</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>source_string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=:),</td>
  <td>intent(out),</td>
  <td></td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>token</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>delimiters</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-codebase"></span><h3>
public function <a href='../proc/codebase.html'>codebase</a>(inval10, outbase, answer)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>logical function codebase(in_base10,out_base,answer)</p><a href="../proc/codebase.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>inval10</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>outbase</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>answer</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-compact"></span><h3>
public function <a href='../proc/compact.html'>compact</a>(str, char) result(outstr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/compact.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>str</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>char</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=len(str))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-crop"></span><h3>
public function <a href='../proc/crop.html'>crop</a>(strin) result(strout)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/crop.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>strin</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-decodebase"></span><h3>
public function <a href='../proc/decodebase.html'>decodebase</a>(string, basein, out_baseten)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>logical function decodebase(string,basein,out10)</p><a href="../proc/decodebase.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>basein</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>out_baseten</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-describe"></span><h3>
public function <a href='../proc/describe.html'>describe</a>(ch) result(string)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/describe.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=1),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-dilate"></span><h3>
public function <a href='../proc/dilate.html'>dilate</a>(instr) result(outstr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/dilate.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>instr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-expand"></span><h3>
public function <a href='../proc/expand.html'>expand</a>(line, escape) result(lineout)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>function expand(line,escape) result(lineout)</p><a href="../proc/expand.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=1),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>escape</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-fmt"></span><h3>
public function <a href='../proc/fmt.html'>fmt</a>(source_string, length)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>function fmt(source_string,length)</p><a href="../proc/fmt.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>source_string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>length</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable, (:)</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-fortran_name"></span><h3>
public elemental function <a href='../proc/fortran_name.html'>fortran_name</a>(line) result(lout)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<a href="../proc/fortran_name.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-glob"></span><h3>
public function <a href='../proc/glob.html'>glob</a>(tame, wild)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Example program</p><a href="../proc/glob.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*)</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>tame</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*)</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>wild</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-indent"></span><h3>
public function <a href='../proc/indent.html'>indent</a>(line)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/indent.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isnumber"></span><h3>
public function <a href='../proc/isnumber.html'>isNumber</a>(string, msg, verbose) result(isnumber)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>As the example shows, you can use an internal READ(3f) along with the
   IOSTAT= parameter to check (and read) a string as well.</p><a href="../proc/isnumber.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=:),</td>
  <td>intent(out),</td>
  <td>optional</td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>msg</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>logical,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>verbose</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isalnum"></span><h3>
public elemental function <a href='../proc/isalnum.html'>isalnum</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/isalnum.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isalpha"></span><h3>
public elemental function <a href='../proc/isalpha.html'>isalpha</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>elemental function isalpha(onechar)</p><a href="../proc/isalpha.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isascii"></span><h3>
public elemental function <a href='../proc/isascii.html'>isascii</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program</p><a href="../proc/isascii.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isblank"></span><h3>
public elemental function <a href='../proc/isblank.html'>isblank</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/isblank.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-iscntrl"></span><h3>
public elemental function <a href='../proc/iscntrl.html'>iscntrl</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program</p><a href="../proc/iscntrl.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isdigit"></span><h3>
public elemental function <a href='../proc/isdigit.html'>isdigit</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/isdigit.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isgraph"></span><h3>
public elemental function <a href='../proc/isgraph.html'>isgraph</a>(onechar)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/isgraph.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>onechar</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-islower"></span><h3>
public elemental function <a href='../proc/islower.html'>islower</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program</p><a href="../proc/islower.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isprint"></span><h3>
public elemental function <a href='../proc/isprint.html'>isprint</a>(onechar)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/isprint.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>onechar</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-ispunct"></span><h3>
public elemental function <a href='../proc/ispunct.html'>ispunct</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/ispunct.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isspace"></span><h3>
public elemental function <a href='../proc/isspace.html'>isspace</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/isspace.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isupper"></span><h3>
public pure elemental function <a href='../proc/isupper.html'>isupper</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/isupper.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-isxdigit"></span><h3>
public elemental function <a href='../proc/isxdigit.html'>isxdigit</a>(ch) result(res)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program</p><a href="../proc/isxdigit.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ch</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-join"></span><h3>
public pure function <a href='../proc/join.html'>join</a>(str, sep, trm, left, right, start, end) result(string)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>JOIN(3f) appends the elements of a CHARACTER array into a single
   CHARACTER variable, with elements 1 to N joined from left to right.
   By default each element is trimmed of trailing spaces and the
   default separator is a null string.</p><a href="../proc/join.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>str</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>sep</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>logical,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>trm</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>left</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>right</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>start</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>end</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-len_white"></span><h3>
public elemental function <a href='../proc/len_white.html'>len_white</a>(string)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/len_white.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-lenset"></span><h3>
public function <a href='../proc/lenset.html'>lenset</a>(line, length) result(strout)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<a href="../proc/lenset.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>length</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=length)
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-lower"></span><h3>
public pure elemental function <a href='../proc/lower.html'>lower</a>(str, begin, end) result(string)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<a href="../proc/lower.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>str</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>begin</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>end</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=len(str))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-merge_str"></span><h3>
public function <a href='../proc/merge_str.html'>merge_str</a>(str1, str2, expr) result(strout)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/merge_str.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>str1</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>str2</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>logical,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>expr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-noesc"></span><h3>
public elemental function <a href='../proc/noesc.html'>noesc</a>(INSTR)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/noesc.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>INSTR</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=len(instr))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-nospace"></span><h3>
public function <a href='../proc/nospace.html'>nospace</a>(line)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/nospace.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-quote"></span><h3>
public function <a href='../proc/quote.html'>quote</a>(str, mode, clip) result(quoted_str)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>function quote(str,mode,clip) result (quoted_str)</p><a href="../proc/quote.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>str</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>mode</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>logical,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>clip</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-replace"></span><h3>
public function <a href='../proc/replace.html'>replace</a>(targetline, old, new, cmd, occurrence, repeat, ignorecase, ierr) result(newline)
    
    
   
</h3></div>
  <div class="panel-body">
       
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>targetline</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>old</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>new</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>cmd</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>occurrence</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>repeat</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>logical,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>ignorecase</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-reverse"></span><h3>
public elemental function <a href='../proc/reverse.html'>reverse</a>(string) result(rev)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<a href="../proc/reverse.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=len(string))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-rotate13"></span><h3>
public function <a href='../proc/rotate13.html'>rotate13</a>(input)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program</p><a href="../proc/rotate13.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>input</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=len(input))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-s2c"></span><h3>
public pure function <a href='../proc/s2c.html'>s2c</a>(string) result(array)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Expected output:</p><a href="../proc/s2c.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(kind=C_CHAR,len=1)
  (len_trim(string)+1)</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-s2v"></span><h3>
public function <a href='../proc/s2v.html'>s2v</a>(chars, ierr, onerr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/s2v.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>chars</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td></td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>onerr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>doubleprecision
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-s2vs"></span><h3>
public function <a href='../proc/s2vs.html'>s2vs</a>(string, delim) result(darray)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/s2vs.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td></td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>delim</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>doubleprecision,
  allocatable, (:)</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-sep"></span><h3>
public function <a href='../proc/sep.html'>sep</a>(input_line, delimiters, nulls)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/sep.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>input_line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>delimiters</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>nulls</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable, (:)</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-setbits16"></span><h3>
public function <a href='../proc/setbits16.html'>setbits16</a>(string) result(answer)
    
    
   
</h3></div>
  <div class="panel-body">
       
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=16),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer(kind=int16)
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-setbits32"></span><h3>
public function <a href='../proc/setbits32.html'>setbits32</a>(string) result(answer)
    
    
   
</h3></div>
  <div class="panel-body">
       
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=32),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer(kind=int32)
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-setbits64"></span><h3>
public function <a href='../proc/setbits64.html'>setbits64</a>(string) result(answer)
    
    
   
</h3></div>
  <div class="panel-body">
       
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=64),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer(kind=int64)
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-setbits8"></span><h3>
public function <a href='../proc/setbits8.html'>setbits8</a>(string) result(answer)
    
    
   
</h3></div>
  <div class="panel-body">
       
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=8),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>integer(kind=int8)
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-stretch"></span><h3>
public function <a href='../proc/stretch.html'>stretch</a>(line, length, pattern, suffix) result(strout)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/stretch.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>length</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>pattern</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>suffix</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-string_tokens"></span><h3>
public pure function <a href='../proc/string_tokens.html'>string_tokens</a>(string, set) result(tokens)
    
    
   
</h3></div>
  <div class="panel-body">
       
    
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>set</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable, (:)</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-strtok"></span><h3>
public function <a href='../proc/strtok.html'>strtok</a>(source_string, itoken, token_start, token_end, delimiters) result(strtok_status)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>function strtok(source_string,itoken,token_start,token_end,delimiters)
  result(strtok_status)</p><a href="../proc/strtok.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>source_string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(inout)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>itoken</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>token_start</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(inout)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>token_end</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>delimiters</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>logical
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-transliterate"></span><h3>
public pure function <a href='../proc/transliterate.html'>transliterate</a>(instr, old_set, new_set) result(outstr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/transliterate.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>instr</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>old_set</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>new_set</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=LEN(instr))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-unquote"></span><h3>
public function <a href='../proc/unquote.html'>unquote</a>(quoted_str, esc) result(unquoted_str)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>function unquote(quoted_str,esc) result (unquoted_str)</p><a href="../proc/unquote.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>quoted_str</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=1),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>esc</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-upper"></span><h3>
public pure elemental function <a href='../proc/upper.html'>upper</a>(str, begin, end) result(string)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>upper(3f) - [M_strings:CASE] changes a string to uppercase
 (LICENSE:PD)</p><a href="../proc/upper.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>str</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>begin</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>end</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=len(str))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-upper_quoted"></span><h3>
public pure elemental function <a href='../proc/upper_quoted.html'>upper_quoted</a>(str) result(string)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>upper_quoted(3f) - [M_strings:CASE] elemental function converts string to miniscule skipping strings quoted per Fortran syntax rules
 (LICENSE:PD)</p><a href="../proc/upper_quoted.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>str</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=len(str))
  </small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-v2s_bug"></span><h3>
public function <a href='../proc/v2s_bug.html'>v2s_bug</a>(gval) result(outstr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/v2s_bug.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>gval</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-visible"></span><h3>
public function <a href='../proc/visible.html'>visible</a>(input) result(output)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/visible.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>input</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  
  
  
  
     <h4>Return Value <small>character(len=:),
  allocatable</small></h4>
  
    

  </div>
  </div>

    
    </section>
    <br>
    

    
    <section>
    <h2>Subroutines</h2>
    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-change"></span><h3>
public subroutine <a href='../proc/change.html'>change</a>(target_string, cmd, ierr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/change.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(inout)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>target_string</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>cmd</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-delim"></span><h3>
public subroutine <a href='../proc/delim.html'>delim</a>(line, array, n, icount, ibegin, iterm, lgth, dlim)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/delim.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*)</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>array</strong>(n)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>n</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>icount</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ibegin</strong>(n)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>iterm</strong>(n)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>lgth</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>dlim</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-getvals"></span><h3>
public subroutine <a href='../proc/getvals.html'>getvals</a>(line, values, icount, ierr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>GETVALS(3f) reads a relatively arbitrary number of numeric values from
   a character variable into a REAL array using list-directed input.</p><a href="../proc/getvals.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>values</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>icount</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-listout"></span><h3>
public subroutine <a href='../proc/listout.html'>listout</a>(icurve_lists, icurve_expanded, inums_out, ierr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>(LICENSE:PD)</p><a href="../proc/listout.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>icurve_lists</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>icurve_expanded</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>inums_out</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-modif"></span><h3>
public subroutine <a href='../proc/modif.html'>modif</a>(cline, mod)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>MODIF(3f) Modifies the line currently pointed at using a directive
   that acts much like a line editor directive.
   Primarily used to create interactive utilities such as input history
   editors for interactive line-mode programs.</p><a href="../proc/modif.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*)</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>cline</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>mod</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-notabs"></span><h3>
public impure elemental subroutine <a href='../proc/notabs.html'>notabs</a>(instr, outstr, lgth)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/notabs.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>instr</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>outstr</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>lgth</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-split"></span><h3>
public subroutine <a href='../proc/split.html'>split</a>(input_line, array, delimiters, order, nulls)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample program:</p><a href="../proc/split.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>input_line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=:),</td>
  <td>intent(out),</td>
  <td></td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>array</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>delimiters</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>order</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>nulls</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-string_to_values"></span><h3>
public subroutine <a href='../proc/string_to_values.html'>string_to_values</a>(line, iread, values, inums, delims, ierr)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<a href="../proc/string_to_values.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>line</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>iread</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>real,</td>
  <td>intent(inout)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>values</strong>(iread)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>inums</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>delims</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-substitute"></span><h3>
public subroutine <a href='../proc/substitute.html'>substitute</a>(targetline, old, new, ierr, start, end)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<p>Sample Program:</p><a href="../proc/substitute.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*)</td>
  <td></td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>targetline</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>old</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>new</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>ierr</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>start</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>end</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-value_to_string"></span><h3>
public subroutine <a href='../proc/value_to_string.html'>value_to_string</a>(gval, chars, length, err, fmt, trimz)
    
    
   
</h3></div>
  <div class="panel-body">
       
    







<a href="../proc/value_to_string.html" class="pull-right"><emph>Read more&hellip;</emph></a>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>class(*),</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>gval</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>chars</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(out),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>length</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td></td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>err</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>character(len=*),</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>fmt</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>logical,</td>
  <td>intent(in),</td>
  <td>optional</td>
  
  <td></td><td>::</td>
  <td><strong>trimz</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    </section>    
    <br>
    
    
    
    </div>
  </div>

  
    <hr>    
    </div> <!-- /container -->
    <footer>
      <div class="container">
      <div class="row">
        <div class="col-xs-6 col-md-4"><p>&copy; 2022 
                                          </p></div>
        <div class="col-xs-6 col-md-4 col-md-push-4">
          <p class="text-right">
            Documentation generated by 
            <a href="https://github.com/cmacmackin/ford">FORD</a>
             on 2022-01-16 22:32  
          </p>
        </div>
        <div class="col-xs-12 col-md-4 col-md-pull-4"><p class="text-center"> M_strings was developed by John S. Urban</p></div>
      </div>
      <br>
      </div> <!-- /container -->    
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
<!--
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
-->
    <script src="../js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../js/ie10-viewport-bug-workaround.js"></script>

    <!-- MathJax JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } },
        jax: ['input/TeX','input/MathML','output/HTML-CSS'],
        extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']
      });
    </script>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    
    <script src="../tipuesearch/tipuesearch_content.js"></script>
    <script src="../tipuesearch/tipuesearch_set.js"></script>
    <script src="../tipuesearch/tipuesearch.js"></script>
    
    
  </body>
</html>